/*	@file 	epl_timer.h
 *	@brief 	control timer for delay or count
 *	
 *	@author	zeroping.tw@gmail.com
 *	@date	2012.10.29
 */
#ifndef EPL_TIMER_H
#define EPL_TIMER_H

typedef enum
{
	TIMER_1, /*16-bit timer*/
	TIMER_3, /*8-bit timer*/
    TIMER_4, /*8-bit timer*/ 
} epl_timer_mode_t;

/*	@brief	timer initialize
 *
 *
 *	@param  epl_timer_mode_t tm: the timer mode that want to initialize
 *	@return none
 */ 
void epl_timer_init(epl_timer_mode_t tm);

/*	@brief	set timer
 *
 *
 *	@param  epl_timer_mode_t tm: the timer mode that want to initialize
 *          uint16_t ms        : the time(ms) set to the timer
 *	@return none
 */ 
void epl_timer_set(epl_timer_mode_t tm, uint16_t ms);

/*	@brief	start timer
 *
 *
 *	@param  epl_timer_mode_t tm: the timer mode that want to initialize
 *	@return none
 */ 
void epl_timer_start(epl_timer_mode_t tm);

/*	@brief	stop timer
 *
 *
 *	@param  epl_timer_mode_t tm: the timer mode that want to initialize
 *	@return none
 */ 
void epl_timer_stop(epl_timer_mode_t tm);

// timer interrupt
void epl_timer_interrupt()...

// timer counting
void epl_timer_get_count();

#endif
 